The invention relates generally to communication devices and communication systems. More specifically, the invention relates to a method and apparatus for managing resources stored on a communication device.
Communication devices, such as for example wireless phones, are increasingly incorporating additional software functionality beyond that needed to establish a communication connection. For example, communication devices can include software applications such as calendars, contact lists, calculators, etc. Moreover, additional applications based on, for example, Java languages such as Java 2 Micro Edition (J2ME) are being developed for use with communication devices. These software applications also typically involve a sizable amount of application data. For example, a software application that provides the functionality of a contact list also uses application data relating to the contact's name, phone number, etc.
These communication devices, however, typically have storage devices with a limited storage capacity. Accordingly, the limited storage capacity of typical communication devices often limits the number of applications and the amount of application-related information that can be stored on a communication device at any given time.
One known way to accommodate a large number of software applications and their related data is to remove the applications when not needed or not being used frequently or recently. Such known removal is performed by removing an entire application and all of its related data. For example, as an application is needed, an unused application and all of its related data is first deleted from the communication device to make room for the provisioning of the new application and its related data.
This known way of managing the information stored on the memory devices of communication devices, however, suffers shortcomings. For example, removing an entire application and its related data may free more memory space than is actually needed to provision the new application. This can involve more time than would be otherwise be involved to free only the amount of memory needed. In addition, removing an entire application and its related data also removes an indication to the user that that application and its related data may be available again in the future. Moreover, requiring user-initiated actions to select and/or remove applications overburdens the users and unnecessarily complicates the operation of communication devices.
Thus, a need exists for a more effective form of managing the storage of software applications and their related data on the storage devices of communication devices.